package com.cbg.es.service;

import com.cbg.es.entity.EsCategory;
import com.cbg.es.repository.IEsCategoryRepository;
import com.shuyuwl.core.service.IDaoService;

import java.util.List;

/**
 * 全景通查分类 service
 *
 * @author wangjuzheng
 * @since 2019-10-16
 */
public interface IEsCategoryService extends IDaoService<EsCategory, Long, IEsCategoryRepository> {

    /**
     * 获取全部的分类列表信息
     *
     * @param status 状态
     * @return 分类列表信息
     */
    List<EsCategory> findCategory(Byte status);

    /**
     * 根据父类id查询分类列表信息
     *
     * @param pid    父级id
     * @param status 状态
     * @return 分类列表信息
     */
    List<EsCategory> findByPid(Long pid, Byte status);

    /**
     * 根据分类id查询分类信息
     *
     * @param id     分类id
     * @param status 状态
     * @return 分类信息
     */
    EsCategory findByIdAndStatus(Long id, Byte status);

    /**
     * 根据父类id和状态查询最大的排序号
     *
     * @param pid    父级id
     * @param status 状态
     * @return 排序号
     */
    Integer getMaxSort(Long pid, Byte status);

    /**
     * 查询父级id下的是否存在同名的分类信息
     *
     * @param categoryPid  父级id
     * @param categoryName 分类名称
     * @return 分类信息
     */
    List<EsCategory> findByPidAndCategoryName(Long categoryPid, String categoryName);
}
